/// 应用全局状态管理
/// 
/// 使用Provider进行状态管理
/// 管理应用级别的状态，如加载状态、主题模式等
/// 
/// 作者: Fluttert Team
/// 日期: 2024

import 'package:flutter/material.dart';

/// 应用状态管理类
/// 
/// 继承ChangeNotifier，使用观察者模式
/// 状态改变时自动通知所有监听者
class AppProvider extends ChangeNotifier {
  /// 加载状态标识
  bool _isLoading = false;
  
  /// 主题模式
  ThemeMode _themeMode = ThemeMode.system;

  /// 获取当前加载状态
  bool get isLoading => _isLoading;
  
  /// 获取当前主题模式
  ThemeMode get themeMode => _themeMode;

  /// 设置加载状态
  /// 
  /// [loading] 是否正在加载
  void setLoading(bool loading) {
    _isLoading = loading;
    notifyListeners(); // 通知所有监听者状态已改变
  }

  /// 设置主题模式
  /// 
  /// [mode] 主题模式（light/dark/system）
  void setThemeMode(ThemeMode mode) {
    _themeMode = mode;
    notifyListeners();
  }
}

